.\"
.\" This file and its contents are supplied under the terms of the
.\" Common Development and Distribution License ("CDDL"), version 1.0.
.\" You may only use this file in accordance with the terms of version
.\" 1.0 of the CDDL.
.\"
.\" A full copy of the text of the CDDL should have accompanied this
.\" source.  A copy of the CDDL is also available via the Internet at
.\" http://www.illumos.org/license/CDDL.
.\"
.\"
.\" Copyright 2020 Oxide Computer Company
.\"
.Dd October 3, 2020
.Dt VIOIF 4D
.Os
.Sh NAME
.Nm vioif
.Nd Virtio Networking Driver
.Sh SYNOPSIS
.Pa /dev/net/vioif*
.Sh DESCRIPTION
The
.Nm
driver is a GLDv3 NIC driver that supports the virtio para-virtualization
specification which is commonly used by many hypervisors and emulators.
The device supports what the specification calls the more commonly found
.Sq legacy
interface for devices.
.Pp
The driver supports the following networking features, if offered by the
device:
.Bl -dash
.It
Jumbo frames up to 65535 bytes
.It
Transmit and receive TCP and UDP checksum offload
.It
IPv4 and IPv6 TCP segmentation offload
.El
.Sh APPLICATION PROGRAMMING INTERFACE
For each supported device instance, which corresponds to a port, a
character-special file is created.
This device can be used with the Data Link Provider Interface
.Pq DLPI
through either
.Xr libdlpi 3LIB
or
.Xr dlpi 4P .
.Pp
Each instance is assigned a unique ascending integer identifier starting
from zero.
The first instance in the system would be enumerated with the id 0 and
be named
.Sy vioif0
and be found in the file system at
.Pa /dev/net/vioif0 .
.Sh CONFIGURATION
The networking devices created by the
.Nm
driver can be controlled through
.Xr dladm 8 .
There is no
.Xr driver.conf 5
file for
.Nm
currently.
.Sh ARCHITECTURE
The
.Nm
driver is only supported on
.Sy x86 .
.Sh FILES
.Bl -tag -width Pa
.It Pa /dev/net/vioif*
.Nm
special character device.
.It Pa /kernel/drv/amd64/vioif
x86 device driver.
.El
.Sh SEE ALSO
.Xr libdlpi 3LIB ,
.Xr virtio 4D ,
.Xr dlpi 4P ,
.Xr dladm 8 ,
.Xr mac 9E
.Rs
.%T Virtual I/O Device (VIRTIO) Version 1.1
.%D April, 2019
.%U https://docs.oasis-open.org/virtio/virtio/v1.1/virtio-v1.1.html
.Re
